package model.cubos;

public class Adesivo {
  
  protected Integer key;
  protected Cor cor;
  protected int controlaToString = 0;
  protected static Cor[] cores = {Cor.AZUL, Cor.VERMELHO, Cor.VERDE, Cor.LARANJA, Cor.AMARELO, Cor.BRANCO};

  // Seria interessante ver a criptografia de valores satélites, segundo alguma codificação do cubo.
  public Adesivo(Integer key, Cor cor) {
    this.key = key;
    this.cor = cor;
  }
  
  @Override
  public String toString() {
    String resp = null;
    switch (this.controlaToString) {
    case 0:
      resp = (key<10? " ": "") + key.toString();
      break;
      
    case 1:
      resp = cor.toString();
    default:
      break;
    }
    return resp;
  }
  
  public static Cor[] getCores() {
    return cores;
  }
  
  public void setToStringToColor() {
    this.controlaToString = 1;
  }
  
  public void setToStringToNumbers() {
    this.controlaToString = 0;
  }
  
  public int getKey() {
    return key;
  }
  
  public boolean isCor(Cor cor) {
    return this.cor == cor;
  }
  
  public Cor getCor() {
    return cor;
  }
  
}
